<?php

	/**
	 * addOn type: sqlCheckbox
	 * 10/01/2011 - class creation
	 *
	 * @author bsuter
	 * @package devmod
	 * 
	 * method type args:
	 * @param param_value [string] Der Inhalt für das Feld $ref_field_name (ref_name) aus der Tabelle wo die addOn methoden ausgeführt wird. Meistens wird %%id%% verwendet.
	 * @param ref_table [array]
	 * 	-> table [string] $ref_table_name - Der Name der Referenz Tabelle (zwischen data_table und der Tabelle wo sie die addOn methoden ausführen.
	 *  -> devmod_base_ref [string] $devmod_base_ref - Feld in der Reftabelle welches auf die DevMod Base Tabelle zeight.
	 *  -> data_table_ref [string] $data_table_ref - Feld in der RefTabelle welches auf die DATA_TABLE zeigt.
	 * @param data_table [array]
	 * 	-> table [string] $data_table_name - Der Name der Tabelle welche als Datenbestand gilt. Zbsp. die Kategorien.
	 *  -> value [string] $data_table_value_field - Das Feld in der Tabelle welches den Identifikator ist und in checkbox value="%%_%%" darstellt. Zbsp. die Datenbestand PK.
	 *  -> title [string] $data_table_title_field - Das Feld welches danach bei der Auflistung angezeigt wird.
	 */
	class Devmod_method_addOn_sqlCheckbox extends Devmod_addOn_abstraction {
		
		public function type_edit()
		{
			$q = $this->db->select($this->args['data_table']['table'], array($this->args['data_table']['value'] => 'value', $this->args['data_table']['title'] => 'title'), false, true);
			
			$sql = $this->db->select($this->config['sql_table'], "*", "WHERE " . $this->config['edit']['where'], false);
			
			$this->args['param_value'] = $this->helper->eval_vars($this->args['param_value'], $sql);
			
			$ref = $this->db->select($this->args['ref_table']['table'], array(
				$this->args['ref_table']['data_table_ref'] => "id"
			), "WHERE {$this->args['ref_table']['devmod_base_ref']} = '{$this->args['param_value']}'", true);
			
			$refs = array();
			
			foreach($ref as $k => $v)
			{
				$refs[] = $v->id;
			}
			
			$this->view->assign(array(
				'ref' => $refs,
				'query' => $q
			));
			
			$tpl = $this->view->fetch('common/addon_sqlCheckbox.tpl');
			
			$this->view->append_over('tpl_addons', array($this->cfg['identifier'] => $tpl));
		}
		
	}